//
//  CWBankCardOCR.h
//  CWBankCardOCR
//
//  Created by DengWuPing on 16/11/7.
//  Copyright © 2016年 DengWuPing. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import <UIKit/UIKit.h>
#import "CloudwalkCardUtil.h"
#import "CWBankCardModel.h"

@interface CloudwalkBankCardOCR : NSObject

/**
 单例方法
 @return 返回该对象的实例
 */

+(id _Nullable )sharInstance;

/**
 创建检测句柄
 
 @return 返回检测句柄
 */
-(NSInteger)cwCreateCardHandle:(NSString * _Nonnull)lisence;

/**
 销毁卡片对齐句柄
 
 @return 返回释放结果
 */
-(NSInteger)cwDestroyCardHandle;


#pragma mark
#pragma mark cwGetBankCardInfo //获取银行卡识别信息

/**
 获取银行卡识别信息 (在检测4边对齐之后调用 用于离线识别)
 @param ret           检测结果返回
 @param cardInfo      银行卡信息
 */
typedef void(^CWCardInfoBlock)(CWCardDetectRet ret,CWBankCardModel  * _Nullable  cardInfo);

#pragma mark
#pragma mark cwGetBankCardInfo //   传入银行卡图像数据获取银行卡信息
/**
 获取银行卡信息
 
 @param cardData   银行卡对齐图像数据BGR 3通道
 @param cardWidth  对齐银行卡图片宽
 @param cardHieght 对齐银行卡图片高
 @param block 银行卡信息block
 */
-(void)cwGetBankCardInfo:(NSData * _Nonnull )cardData cadrWidth:(int)cardWidth  cardHeight:(int)cardHieght completion:(CWCardInfoBlock _Nullable )block;

/**
 获取卡片对齐SDK版本号
 
 @return 返回版本号
 */
+(NSString * _Nullable)cwGetBankCardVersion;

@end
